<?php

namespace Library\Models;

use \Library\Entities\Inscription;

abstract class InscriptionManager extends \Library\Manager {

    abstract public function checkMail($user);

    abstract protected function add(Inscription $inscription);

    /**
     * Méthode permettant d'enregistrer une inscription
     * @param $inscription L'e commentaire'inscription à enregistrer
     * @return void
     */
    public function save(Inscription $inscription) {
        if ($inscription->isValid()) {
            $inscription->isNew() ? $this->add($inscription) : $this->modify($inscription);
        } else {
            throw new \RuntimeException('L\'inscription doit être validé pour être enregistré');
        }
    }

}

?>
